// =======================================================================
// 
//       Filename:  element.cpp
// 
//    Description:  
// 
//        Version:  1.0
//        Created:  20.04.2010 00:50:02
//       Revision:  none
//       Compiler:  g++
// 
//         Author:  Dominik 'domachine' Burgdörfer (-), dominik.burgdoerfer@googlemail.com
//        Company:  -
// 
// =======================================================================

#include "element.hpp"
#include "../types/object.hpp"

using namespace std;
namespace fs = boost::filesystem;

namespace webplodder {
    using namespace types;

    namespace elements {
        Element::Element(Element::Type type)
            : Object(Object::TEMPLATE_ELEMENT),
            m_parent(0), mType(type), mLine(-1)
        {

        }

        Element::Element(Element& parent, Element::Type type)
            : Object(Object::TEMPLATE_ELEMENT), 
            m_parent(&parent),
            mType(type), mLine(-1)
        {
        }

        Element::~Element() {
        }

        Element::Type Element::elementType() const
        {
            return mType;
        }

        int Element::line() const
        {
            return mLine;
        }

        void Element::setLine(int line)
        {
            mLine = line;
        }

        fs::path Element::sourcePath() const
        {
            return m_parent->sourcePath();
        }
    }
}
